package com.online.teaching.module.admin.user.service;

import com.github.pagehelper.PageInfo;
import com.online.teaching.module.admin.user.domian.dto.StudentAddDTO;
import com.online.teaching.module.admin.user.domian.dto.TeacherAddDTO;
import com.online.teaching.module.admin.user.domian.vo.StudentGetVO;
import com.online.teaching.module.admin.user.domian.vo.TeacherGetVO;
import com.online.teaching.pojo.Student;

/**
 * @author yg
 */
public interface AdminUserService {
    /**
     * 管理员添加学生
     * @param studentAddDTO
     * @param userId 管理员id，判断权限
     * @return
     */
    int addStudent(StudentAddDTO studentAddDTO,Integer userId);

    /**
     * 管理员添加老师
     * @param teacherAddDTO
     * @param userId 管理员id
     * @return
     */
    int addTeacher(TeacherAddDTO teacherAddDTO,Integer userId);

    /**
     *管理员帮助更新密码
     * @param userId 要更新密码的id
     * @param adminId 管理员id
     * @param userType 用户类型
     * @return
     */
    int updatePassword(Integer userId,Integer userType,Integer adminId);

    /**
     * 管理员删除用户
     * @param userId
     * @param userType
     * @param adminId
     * @return
     */
    int deleteUser(Integer userId,Integer userType,Integer adminId);

    /**
     * 为了返回前端参数，查询老师和查询学生分开写了
     * 查询老师
     * @param page
     * @param size
     * @return
     */
    PageInfo<StudentGetVO>getTeacherList(Integer page, Integer size);

    /**
     * 为了返回前端参数，查询老师和查询学生分开写了
     * 查询学生
     * @param page
     * @param size
     * @return
     */
    PageInfo<TeacherGetVO>getStudentList(Integer page,Integer size);
}
